﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using Zadani09.db.DAO;
using System.ComponentModel;

namespace Zadani09.db.ODS
{
    [DataObject(true)]
    public class VystavaDiloDataObject
    {
        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Dilo> dila_na_vystave(int vystava)
        {
            List<Dilo> vrat = DAOTovarna.instance.getDiloDAO().nahrejDilaZvystavy(vystava);

            if (vrat == null) vrat = new List<Dilo>();

            return (vrat);
        }

        [DataObjectMethod(DataObjectMethodType.Select)]
        public List<Dilo> dila_ne_na_vystave(int vystava)
        {
            List<Dilo> vrat = new List<Dilo>();

            List<Dilo> vsechna = DAOTovarna.instance.getDiloDAO().loadList(0, 0);
            List<Dilo> na_vystave = dila_na_vystave(vystava);

            vrat = vsechna.Except<Dilo>(na_vystave,
                        new AtributEqualityComparer<Dilo>("id_dilo")).ToList<Dilo>();

            return (vrat);
        }

        [DataObjectMethod(DataObjectMethodType.Insert)]
        public void prirad_dilo_vystave(int vystava, int dilo)
        {
            VystavaDilo nova = new VystavaDilo();
            nova.IDVystava = (uint)vystava;
            nova.IDDilo = (uint)dilo;

            //tady ale bohuzel chybi dalsi vlastnosti - jako odkdy dokdy se bude vystavovat a jestli je 
            //prodane - zatim nevim jak to sem dostat..

            DAOTovarna.instance.getVystavaDAO().pridejDilo(nova);
        }
    }
}
